#include <vector>
#include <map>
#include <string>
#include <functional>
#include "map_utils.h"
#include "signal_car_info.h"
#include "map_edge_info.h"
#include "map_vertex_info.h"

//定义停车场拓扑地图的顶点
    //                              { {可到达的顶点}, {对应的边},  Pose{x,y,id}}
    std::vector<Vertex> parkVertexInfoS{ { {0,0},  {0,0},  Pose(0,0,201) } };

//定义拓扑地图的边    
    //                          { id, {起点，终点}，边属性1，边属性2，边属性3，边属性4，边属性5 } 
    std::vector<Edge> parkEdgeInfoS { { 201,  {201,202}, 1, 55, 0, 55, true} };
                                
                                
//******************************
//          功能函数
//******************************  
    const std::vector<std::string>* getVehicleInfoS()             //获取车辆基本信息   
    {
        return &vehicleInfoS;
    }       

    const std::vector<std::vector<double>>* getTLInfoS()          //获取信号灯相关信息
    {
        return &TLInfoS;
    }    

    const std::vector<Vertex>* getMapVertexInfoS()           //获取道路节点数据
    {
        return &mapVertexInfoS;
    }
    const std::vector<Edge>* getMapEdgeInfoS()               //获取道路边数据
    {
        return &mapEdgeInfoS;
    }

    const std::vector<Vertex>* getParkVertexInfoS()          //获取停车场节点数据
    {
        return &parkVertexInfoS;
    }
    const std::vector<Edge>* getParkEdgeInfoS()              //获取停车场边数据
    {
        return &parkEdgeInfoS;
    }
    
    
